Voice processing systems, sometimes called voice mail systems, are in widespread use. Many of the early voice processing systems were small, relatively simple systems designed for a limited number of users and having a limited number of functions. The technology has advanced to the point where today large voice processing systems which can served thousands of user are available from a variety of vendors. The large voice processing systems that are available today provide a rich menu of functions and they can service many thousands of users.
As systems have grown in size and complexity, two needs have become evident, namely, very high reliability and modularity. Very high reliability is needed so that users can come to depend upon voice processing systems without fear that information will be lost. Modularity is needed so that a module which serves a relatively small number of users can be installed and then as the number of users grows, additional modules can be easily installed, increasing the capacity of the system without the need to discard what has already been installed. Designing systems which satisfy both of these requirements presents significant challenges.
The prior art includes voice processing systems that increase reliability by providing redundant hardware. However, in the prior art systems, each user is assigned to a particular module or sub-system. The module or sub-system to which each user is assigned is generally termed the user's "home" system. Backup is sometimes provided by having each user assigned both to a home module or sub-system and to a backup module or sub-system. The backup module or sub-system only becomes operable if the primary hardware experiences a problem. For example, Digital Equipment Corporation markets a system called DECVoice which can accommodate redundant backup hardware. The cost of providing reliability by merely providing redundant backup hardware is relatively high since such hardware is only used when the primary hardware experiences a problem.
The present invention provides redundancy in a manner that utilizes the backup hardware for normal operations until one of the modules in the system has a problem. When a module has a problem, the work previously done by that module is shifted to the other modules in the system. The typical user would in most instances not even recognize that there was a problem. Stated differently, with the present invention the system includes a number of modules which share the work load. If one of the modules experiences a problem the workload is merely shared by the other modules in the system.
The second requirement discussed above, that is the need to allow for modular growth is also recognized in the prior art. An example of a system which includes a plurality of interconnected voice processing modules is shown in U.S. Pat. No. 5,029,199 (Jones et al.) issued Jul. 2, 1991. U.S. Pat. No. 5,029,199 describes a system which has a distributed architecture including a plurality of message processing modules. The system shown in U.S. Pat. No. 5,029,199 includes a master control unit that directs each incoming call to a particular one of the voice processing modules depending upon a variety of factors. The voice processing modules are interconnected by a local bus. Each subscriber is assigned to a home system; however, messages can be stored remotely and the home processing system can access the remotely stored messages over the local network. The master control unit stores subscriber related information including the identification of the home unit for each subscriber. A key aspect of the system shown in this reference is the fact that the incoming lines are switched between the various voice processing modules by the master control unit.
The present invention provides a modular system without utilizing a master control unit to direct incoming calls. With the present invention the incoming lines are connected as a single hunt group and any module in the system can handle any incoming call.